this.sensitive = sensitive;
this.actor.reactive = sensitive;
- this.actor.can_focus = sensitive;
if (sensitive)
this.actor.remove_style_pseudo_class('insensitive');
this._statusLabel.text = text;
this._statusBin.child = this._statusLabel;
this.actor.reactive = false;
- this.actor.can_focus = false;
this.actor.accessible_role = Atk.Role.MENU_ITEM;
} else {
this._statusBin.child = this._switch.actor;
this.actor.reactive = true;
- this.actor.can_focus = true;
this.actor.accessible_role = Atk.Role.CHECK_MENU_ITEM;
}
this.checkAccessibleState();
}));
}
- item.actor.reactive = item.actor.can_focus = action.enabled;
+ item.actor.reactive = action.enabled;
if (action.enabled)
item.actor.remove_style_pseudo_class('insensitive');
else
if (action.items.length) {
for (let i = 0; i < action.items.length; i++) {
let item = action.items[i];
- item.actor.reactive = item.actor.can_focus = action.enabled;
+ item.actor.reactive = action.enabled;
if (action.enabled)
item.actor.remove_style_pseudo_class('insensitive');
StBinPrivate *priv = ST_BIN (widget)->priv;
ClutterActor *bin_actor = CLUTTER_ACTOR (widget);
- if (st_widget_get_can_focus (widget))
+ if (clutter_actor_get_reactive (bin_actor) &&
+ st_widget_get_can_focus (widget))
{
if (from && clutter_actor_contains (bin_actor, from))
return FALSE;
if (from == priv->entry)
return FALSE;
- else if (st_widget_get_can_focus (widget))
+ else if (clutter_actor_get_reactive (CLUTTER_ACTOR (widget)) &&
+ st_widget_get_can_focus (widget))
{
clutter_actor_grab_key_focus (priv->entry);
return TRUE;
while (focus_child && clutter_actor_get_parent (focus_child) != widget_actor)
focus_child = clutter_actor_get_parent (focus_child);
- if (widget->priv->can_focus)
+ if (clutter_actor_get_reactive (widget_actor) &&
+ widget->priv->can_focus)
{
if (!focus_child)
{